add api lensman_wx_authorize_api

Brightcells 8 years ago
parent
commit
6626af8a8d
6 changed files with 29 additions and 6 deletions
  1. 1 1
      account/views.py
  2. 5 2
      api/urls.py
  3. 18 0
      group/lensman_views.py
  4. 1 1
      isort.sh
  5. 1 1
      requirements.txt
  6. 3 1
      utils/error/errno_utils.py

+ 1 - 1
account/views.py

@@ -128,7 +128,7 @@ def user_login_api(request):
128 128
     })
129 129
 
130 130
 
131
-def wx_authorize_api(request):
131
+def user_wx_authorize_api(request):
132 132
     user_id = request.POST.get('user_id', '')
133 133
 
134 134
     openid = wx_uid = request.POST.get('wx_uid', '')

+ 5 - 2
api/urls.py

@@ -19,7 +19,7 @@ urlpatterns = [
19 19
     url(r'^u/signup$', account_views.user_signup_api, name='user_signup_api'),  # 用户注册
20 20
     url(r'^u/login$', account_views.user_login_api, name='user_login_api'),  # 用户登录
21 21
 
22
-    url(r'^u/wx/authorize$', account_views.wx_authorize_api, name='wx_authorize_api'),  # 微信用户授权
22
+    url(r'^u/wx/authorize$', account_views.user_wx_authorize_api, name='user_wx_authorize_api'),  # 微信用户授权
23 23
 
24 24
     url(r'^u/guest/status$', account_views.guest_status_api, name='guest_status_api'),  # 游客状态(是否开启)
25 25
     url(r'^u/guest/login$', account_views.guest_login_api, name='guest_login_api'),  # 游客登录
@@ -27,8 +27,11 @@ urlpatterns = [
27 27
 
28 28
 # 摄影师相关
29 29
 urlpatterns += [
30
-    url(r'^l/submit$', lensman_views.lensman_submit_api, name='lensman_submit_api'),  # 摄影师登录
30
+    url(r'^l/submit$', lensman_views.lensman_submit_api, name='lensman_submit_api'),  # 摄影师信息提交
31 31
     url(r'^l/login$', lensman_views.lensman_login_api, name='lensman_login_api'),  # 摄影师登录
32
+
33
+    url(r'^l/wx/authorize$', lensman_views.lensman_wx_authorize_api, name='lensman_wx_authorize_api'),  # 微信用户授权
34
+
32 35
     url(r'^l/photos/upload$', lensman_views.lensman_upload_photo_api, name='lensman_upload_photo_api'),  # 摄影师上传照片
33 36
 ]
34 37
 

+ 18 - 0
group/lensman_views.py

@@ -10,6 +10,7 @@ from django.conf import settings
10 10
 from django.contrib.auth.hashers import check_password
11 11
 from django.core.files.storage import default_storage
12 12
 from django.http import JsonResponse
13
+from logit import logit
13 14
 from TimeConvert import TimeConvert as tc
14 15
 
15 16
 from account.models import LensmanInfo, UserInfo
@@ -87,6 +88,23 @@ def lensman_login_api(request):
87 88
     })
88 89
 
89 90
 
91
+@logit
92
+def lensman_wx_authorize_api(request):
93
+    openid = wx_uid = request.POST.get('wx_uid', '')
94
+    unionid = request.POST.get('unionid', '')
95
+
96
+    # 判断 unionid 是否已经存在,如果已经存在,则直接返回改帐户信息
97
+    try:
98
+        user = UserInfo.objects.get(unionid=unionid)
99
+    except UserInfo.DoesNotExist:
100
+        return response(LensmanStatusCode.LENSMAN_NOT_FOUND)
101
+
102
+    if user.user_status != UserInfo.ACTIVATED:
103
+        return response(LensmanStatusCode.LENSMAN_NOT_ACTIVATED)
104
+
105
+    return response(200, 'Lensman Login Success', u'摄影师登录成功', user.data)
106
+
107
+
90 108
 def lensman_upload_photo_api(request):
91 109
     """
92 110
     摄影师上传照片

+ 1 - 1
isort.sh

@@ -1,3 +1,3 @@
1 1
 #!/bin/bash
2 2
 
3
-isort -rc -sp .isort.cfg .
3
+isort -rc -sp . .

+ 1 - 1
requirements.txt

@@ -7,7 +7,7 @@ cryptography==1.2.1
7 7
 django-curtail-uuid==1.0.0
8 8
 django-detect==1.0.4
9 9
 django-json-response==1.1.3
10
-django-logit==1.0.2
10
+django-logit==1.0.3
11 11
 django-multidomain==1.1.4
12 12
 django-shortuuidfield==0.1.3
13 13
 djangorestframework==3.3.1

+ 3 - 1
utils/error/errno_utils.py

@@ -20,7 +20,9 @@ class LensmanStatusCode(BaseStatusCode):
20 20
     LENSMAN_PASSWORD_ERROR = StatusCodeField(400002, u'Lensman Password Error', description=u'摄影师密码错误')
21 21
 
22 22
     LENSMAN_PHONE_ALREADY_EXISTS = StatusCodeField(400005, u'Lensman Phone Already Exists', description=u'手机号已经存在')
23
-    LENSMAN_ALREADY_NOT_UNVERIFIED = StatusCodeField(4000010, u'Lensman Already Not Unverified', description=u'摄影师帐号已激活')
23
+    LENSMAN_ALREADY_NOT_UNVERIFIED = StatusCodeField(400010, u'Lensman Already Not Unverified', description=u'摄影师帐号已激活')
24
+
25
+    LENSMAN_NOT_ACTIVATED = StatusCodeField(400015, u'Lensman Not Activated', description=u'摄影师帐号未激活')
24 26
 
25 27
 
26 28
 class UserStatusCode(BaseStatusCode):